matclass_info Version 1.1 1994 Oct 24 ------------- ----------- ----------- Information about matrix classes in C++. The intention is to list all public domain codes. Commercial programs get a brief mention at the end. Written by Keith Briggs kbriggs@maths.adelaide.edu.au. Corrections, updates and opinions welcome. This file owes much to Ajay Shah's usc.edu:pub/C-numanal/numcomp-free-c.gz. Name : lapack++ Where : netlib2.cs.utk.edu:c++/lapack++/* Description : C++ version of Lapack (Linear Algebra PACKage) fortran code. Author : J. Dongarra, R. Pozo, D. Walker Contact : pozo@cs.utk.edu Version : 1.0 Documents : For documentation see the LAPACK++ User's Manual, Installation Manual, and Class Reference Manual. Comments : LAPACK extensions for high performance linear algebra computations. This version includes support for solving linear systems using LU, Cholesky, and QR matrix factorizations. LAPACK++ supports various matrix classes for vectors, non-symmetric matrices, SPD matrices, symmetric matrices, banded, triangular, and tridiagonal matrices. This version includes support for solving linear systems using LU, Cholesky, QR matrix factorizations, and symmetric eigenvalue problems. Source code is given for matrices of type float, double, int, long int, and complex. There is also a templated vector class, template_v.h, for which one extend to other element types. LAPACK++ v. 1.0 can use the C-LAPACK library (also available from netlib) and does not rely on the availablity of Fortran compilers. Name : Matclass Description : a C++ class for numerical computation Author : Chris Birchenhall (chris.birchenhall@mailhost.mcc.ac.uk} Where : ftp.mcc.ac.uk(130.88.203.12):pub/matclass Version : v1.0d. New version pending. Comments : Very complete. * Offers a general purpose dense, real matrix class * Has a family of decomposition classes based on LU, Cholesky, Householder QR and SVD * Has a family of OLS regression classes based on above decompositions * A family of special function classes * Random number class * Has a simplified I/O structure Documents : Very thorough tex manual, with discussion of design philosophy. Currently the manual does not cover all the features of the I/O. Name : libaips-3 Where : aips2.cv.nrao.edu:pub/aips++/RELEASED/libaips-3 Description : Library which includes dense Array and Matrix functions Author : AIPS++ Consortium Contact : Brian Glendenning bglenden@nrao.edu Version : 3 (Beta) Comments : The library is templated, and presently only compiles under CFront 3.0 based compilers. More an "array" than a "matrix" library (although LU decomposition, FFT, transpose etc are available). Many other classes besides array related. Documents : Reference manuals, Array tutorial, and other. Name : libg++ Where : prep.ai.mit.edu Description : Class library for gnu g++ compiler. Author : Doug Lea and others Version : 2.4.5 Comments : Includes a vector class that may be useful as a basis for a matrix class Documents : Excellent texinfo manual. Name : matode Where : elib.ZIB-Berlin.de (130.73.108.11) Systems : Unix, MSDOS Description : matrix class, and class for solving ODEs by extrapolation Author : Andreas Hohmann hohmann@sc.zib-berlin.de Version : 1993 November Comments : Postscript documentation describes design philosophy. Name : JCOOL Where : ? Systems : ? Description : ? Author : ? Version : ? Comments : ? Name : blas.cpp.shar.z Where : in pub/C-numanal on usc.edu Author : Damian McGuckin (damianm@eram.esi.com.au) Description : a BLAS in C++ Version : beta, 8 May 1993 Name : cvmath.cc (12263 bytes) Where : in pub/C-numanal on usc.edu Systems : Unix Description : An include file to make complex math look like regular math. Author : Leonard Kamlet, lik@engin.umich.edu Version : 8 March 1993 Comments : Contains a rudimentary complex matrix class Name : kalman.tar.gz (22747 bytes) Where : in pub/C-numanal on usc.edu Author : Skip Carter (skip@taygeta.oc.nps.navy.mil) Description : A class library for Kalman filtering Comments : Contains lumatrix.c++ etc. Language : g++ 2.4.2 tested OK. Version : v1.0, 3 July 1993 Name : lin_alg.shar.Z Author : ?? Where : in c++ on Netlib Description : BLAS 1 and 2 in C++. No decompositions. Name : C++ Matrix class Where : ftp.cs.ucla.edu:pub/Matrix.tar.Z Description : The C++ Matrix class includes a matrix implementation of the backward error propagation (backprop) algorithm for training multi-layer, feed-forward artificial neural networks Version : 9 July 1993 Author : E. Robert (Bob) Tisdale, edwin@cs.ucla.edu Comments : A C++ interface to existing C and FORTRAN matrix libraries. Documents : LaTeX manual. Name : newmat07 Where : volume34, issue 107 of comp.sources.misc also plaza.aarnet.edu.au (139.130.4.6): /micros/pc/oak/cplusplus/newmat07.zip oak.oakland.edu (141.210.10.117):pub/msdos/cplusplus/newmat07.zip It is also on Compuserve in the Borland forum. Language : C++ Systems : Unix (g++ 2.3.3 ok), MS-DOS (Borland C++) Description : a very thorough matrix class Author : Robert Davies (robertd@kauri.vuw.ac.nz) Version : v7, 11 Jan 1993 Documents : Good ascii manual. Comments : Optimized expression evaluation. Many decompositions. : Under g++ or Watcom, contact the author for patches. : The package supports classes Matrix, UpperTriangularMatrix, : LowerTriangularMatrix, DiagonalMatrix, SymmetricMatrix, BandMatrix, : UpperBandMatrix, LowerBandMatrix, SymmetricBandMatrix, RowVector, : ColumnVector. : Only one element type (float or double) is supported. : The package includes the operations *, +, -, inverse, transpose, : conversion between types, submatrix, determinant, Cholesky : decomposition, Householder triangularisation, singular value : decomposition, symmetric eigenvalue analysis, FFT, : sort, print, an interface to "Numerical Recipes in C" programs, and : emulation of exceptions. : Suitable for matrices in the size range 15 by 15 up to the maximum : size that can conveniently be stored in a single block of memory. : It can be used with smaller matrices, but becomes less efficient. : Works with AT&T C++ (versions 2.1 and 3), Gnu G++ (version : 2.2), Borland C++ (version 3.1), Microsoft C++ (7.0), and mostly : with Zortech (version 3.04). Name : nlmdl Where : in pub/arg/nlmdl at ccvr1.cc.ncsu.edu (128.109.212.20) Language : C++ Systems : Unix, MS-DOS (Turbo C++) Description : a library for estimation of nonlinear models Author : A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu Comments : nonlinear maximisation, estimation, includes a real matrix class Version : January 1991 Name : Octave Where : ftp.che.utexas.edu:/pub/octave/octave-M.N.tar.Z Systems : Compiles and runs on SPARC, RS/6000, DEC/Ultrix, i386/Linux and probably most Unix-like systems that have a working g++/libg++. Language : C/C++/Fortran Author : John W. Eaton Version : 1.0, Feb 17 1994 Description : Matlab-like interactive system for numerical computations Comments : Includes C++ classes for matrix manipulation, numerical integration, and the solution of systems of nonlinear equations, ODEs and DAEs. Uses standard Fortran libraries including Lapack, Linpack, Quadpack, Minpack, Odepack, and Dassl. Distributed under the GPL. Name : array.shar Where : bellman.control.lth.se:pub/c++/array.shar Description : This is a C++ class for simple fixed arrays Author : Dag Bruck dag@control.lth.se Version : July 1992 Comments : Simple design and implementation was a major development goal. The array class uses assertions to check various error conditions, including index out-of-range and failed memory allocation. Failed assertions cause program termination, and possibly a core dump. This is data-structure type of array, not a numerical vector library. Probably of limited utility (author's own comment). Name : gtmatrix Where : ftp.cerl.gatech.edu:pub/c++/gtmatrix Author: : Andy Register Comments : It is still under development so there is no documentation and some functions have not been throughly tested. It is a departure from most matrix libs in that it includes things like UpperTriangular different from Diagonal etc.. Name : libaip++ Where : aips2.cv.nrao.edu:pub/aips++/RELEASED/libaips-3 Systems : CFront 3.0.2 Description : Support library for Astronomical Information Processing System Author : aips2-request@nrao.edu. : AIPS++ Project Office : National Radio Astronomy Observatory : 520 Edgemont Road : Charlottesville, VA 22903-2475 USA Version : beta Comments : An arbitrary n-dimensional Array class, with Vector, : Matrix, and Cube specializations. All the normal arithmetic : operations are available (+,-,*,/,+=,-=,*=,/=) in an element by : element fashion, as well as the normal "linear algebra" : multiplications (dot,cross,matrix multiply). Commercial packages: -------------------- M++ Dyad (phone in the USA (800)366-1573, (206)637-9427, fax (206)637-9428) Linpack++ Rogue Wave ((800)487-3217, (503)754-3010, fax (503)757-6650)